package com.pureut.system.service.impl;

import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pureut.common.security.utils.SecurityUtils;
import com.pureut.system.domain.ProductBatchReporting;
import com.pureut.system.domain.vo.ProductBatchReportingVo;
import com.pureut.system.mapper.ProductBatchReportingMapper;
import com.pureut.system.service.IProductBatchReportingService;
import org.apache.catalina.security.SecurityUtil;
import org.springframework.stereotype.Service;
import java.util.Date;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import javax.annotation.Resource;

/**
 * @Author: pureut
 * @Date: 2025-04-09 15:57:31
 * @Desc: 产品批次报工记录表
 */
@Service("productBatchReportingService")
public class ProductBatchReportingServiceImpl extends ServiceImpl<ProductBatchReportingMapper, ProductBatchReporting> implements IProductBatchReportingService {

    /**
     * 产品批次报工记录表Dao
     */
    @Resource
    private ProductBatchReportingMapper productBatchReportingMapper;



    /**
     * 新增产品批次报工记录表
     * @param productBatchReportingVo
     * @return
     */
    @Override
    public Boolean save(ProductBatchReportingVo productBatchReportingVo) {
        ProductBatchReporting productBatchReporting = new ProductBatchReporting();
        BeanUtil.copyProperties(productBatchReportingVo, productBatchReporting);
        productBatchReporting.setCreatedBy(SecurityUtils.getUsername());
        productBatchReporting.setCreatedTime(new Date());
        return save(productBatchReporting);
    }


    /**
     * 更新产品批次报工记录表
     * @param productBatchReportingVo
     * @return
     */
    @Override
    public Boolean updateById(ProductBatchReportingVo productBatchReportingVo) {
        ProductBatchReporting productBatchReporting = new ProductBatchReporting();
        BeanUtil.copyProperties(productBatchReportingVo, productBatchReporting);
        productBatchReporting.setUpdatedBy(SecurityUtils.getUsername());
        productBatchReporting.setUpdatedTime(new Date());
        return updateById(productBatchReporting);
    }
}
